home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 1 / PC Actual CD 01.iso / f1 / utils1.arj / PAUSA.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-06-03  |  2.2 KB  |  101 lines

  1. ;    **********************
  2. ;    * RALENTIZA ORDENATA *
  3. ;    **********************
  4. ; ----------------------------
  5. ; PAUSA n (N=num HEX 4 CIFRAS)
  6. ; ----------------------------
  7. ;       JCE / Mayo 1992
  8. ;
  9. ;
  10. CODE    SEGMENT
  11.         ASSUME  CS:CODE, DS:CODE
  12.  
  13.         ORG 100h
  14.  
  15.         EXTRN   CONVERT:NEAR
  16.  
  17. entrada EQU     82H
  18.  
  19.  
  20.  
  21. RUN:    JMP    RUN0
  22.  
  23.         db      "PAUSA.COM - JCE'92"
  24.  
  25. RUN0:
  26.         MOV     DX,OFFSET MSG
  27.         MOV     AH,9
  28.         INT     21H
  29.  
  30.         XOR     AX,AX
  31.         MOV     ES,AX
  32.         CLI
  33.         MOV     WORD PTR ES:[20H],0AAH
  34.         MOV     WORD PTR ES:[22H],1302H         ; restaura INT 20H
  35.         STI
  36.         MOV     DI,entrada
  37.         CALL    convert
  38.         JNC     RUN2
  39.  
  40.         MOV     DX,OFFSET MSG1
  41.         MOV     AH,9
  42.         INT     21H
  43.         JMP     RETDOS
  44.  
  45. RUN2:
  46.         MOV     WORD PTR CS:[valor],AX
  47.         MOV     DX,OFFSET MSG0
  48.         MOV     AH,9
  49.         INT     21H
  50.  
  51.         XOR     AX,AX
  52.         MOV     ES,AX
  53.  
  54.         CLI
  55.         MOV     AX,WORD PTR ES:[20H]
  56.         MOV     WORD PTR CS:[OLD8],AX
  57.         MOV     AX,WORD PTR ES:[22H]
  58.         MOV     WORD PTR DS:[OLD8+2],AX
  59.         MOV     WORD PTR ES:[20H],OFFSET PROG
  60.         MOV     WORD PTR ES:[22H],CS
  61.         STI
  62.  
  63.         MOV     AX,3100H
  64.         MOV     DX,40                   ; bytes/16 reservados
  65.         INT     21H                     ; Residente
  66.  
  67. RETDOS:
  68.         MOV     WORD PTR CS:[entrada],0FFFFH
  69.  
  70.         MOV     AX,4C00H
  71.         INT     21H                     ; Vuelve al DOS
  72.  
  73. ; -------------------------------------------------------
  74.  
  75. PROG:
  76.         PUSH    AX
  77.         PUSH    CX
  78.         PUSHF
  79.  
  80.         MOV     CX,WORD PTR CS:[valor]
  81. retardo:
  82.         ADD     AX,[DI+20]
  83.         ADD     AX,[DI+20]
  84.         LOOP    retardo
  85.  
  86.         POPF
  87.         POP     CX
  88.         POP     AX
  89.         JMP     CS:[OLD8]
  90.  
  91. ;
  92. OLD8    DD      0
  93. valor   DD      0
  94.  
  95. MSG     DB      10,13,"** PAUSA.COM / JCE May 1992 **$"
  96. MSG0    DB      10,13,"Ok. ordenador ralentizado!",10,13,"$"
  97. MSG1    DB      10,13,"Error! VALOR INCORRECTO (4 cifras en HEX)",10,13,"$"
  98.  
  99. CODE            ENDS
  100.                 END     RUN
  101.